﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CamadaDados;

namespace CasaisEmEdificacao.Gerenciador.banner
{
    public partial class formBanner : System.Web.UI.Page
    {

        public CamadaDados.banner MetBanner = new CamadaDados.banner();

        protected void Page_Load(object sender, EventArgs e)
        {

            if(!IsPostBack)
            {
                

                if(Request["CodBanner"] != null)
                {
                    CarregarBanner(Convert.ToInt32(Request["CodBanner"]));

                    btnSalvar.Visible = false;
                    btnEditar.Visible = true;

                }
                else
                {
                    ddlLocalBanner.DataSource = MetBanner.CarregarLocal();
                    ddlLocalBanner.DataBind();
                    ddlLocalBanner.Items.Insert(0, new ListItem("Escolha um Local", ""));

                    btnSalvar.Visible = true;
                    btnEditar.Visible = false;
                }

            }

        }


        protected void CarregarBanner(int intCodBanner)
        {
            var objBanner = MetBanner.SelecionarBanner(intCodBanner);
            txtCodBanner.Value = objBanner.CO_BANNER.ToString();
            txtTitulo.Text = objBanner.NO_BANNER;
            txtDescricao.Text = objBanner.DS_BANNER;
            txtLink.Text = objBanner.DS_LINK;
            ddlTarget.SelectedValue = objBanner.DS_TARGET;

            ddlLocalBanner.DataSource = MetBanner.CarregarLocal();
            ddlLocalBanner.DataBind();
            ddlLocalBanner.Items.Insert(0, new ListItem("Escolha um Local", ""));

            ddlLocalBanner.SelectedValue = objBanner.CO_LOCAL_BANNER.ToString();
            ddlStatus.SelectedValue = objBanner.CO_SITUACAO.ToString();
        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("/gerenciador/banner/index.aspx");
        }

        protected void btnSalvar_Click(object sender, EventArgs e)
        {

            Boolean fileOK = false;

            if (fileImagem.HasFile)
            {
                // BLOQUEIA A TRANSFERÊNCIA DE ARQUIVOS MAIOR QUE 1MB
                if (fileImagem.PostedFile.ContentLength < 1048576)
                {

                    String extensaoArq = System.IO.Path.GetExtension(fileImagem.FileName).ToLower();

                    String nomeAquivo = fileImagem.FileName;

                    String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg" };

                    for (int i = 0; i < allowedExtensions.Length; i++)
                    {
                        if (extensaoArq == allowedExtensions[i])
                        {
                            fileOK = true;
                        }
                    }

                    if (fileOK)
                    {

                        string strUltimoCodBanner = string.Empty;

                        string path = Server.MapPath("~/Gerenciador/common/img_banner/");

                        var objBanner = new tb_banner();

                        objBanner.NO_BANNER = txtTitulo.Text;
                        objBanner.DS_BANNER = txtDescricao.Text;
                        objBanner.DS_LINK = txtLink.Text;
                        objBanner.DS_TARGET = ddlTarget.SelectedValue;
                        objBanner.CO_LOCAL_BANNER = Convert.ToInt32(ddlLocalBanner.SelectedValue);
                        objBanner.CO_SITUACAO = Convert.ToInt32(ddlStatus.SelectedValue);

                        strUltimoCodBanner = MetBanner.UltimoCodigoBanner().ToString();

                        if (strUltimoCodBanner == null)
                        {
                            strUltimoCodBanner = "0";
                        }

                        objBanner.DS_IMAGEM = strUltimoCodBanner + "_" + fileImagem.FileName;

                        fileImagem.SaveAs(path + strUltimoCodBanner + "_" + fileImagem.FileName);

                        MetBanner.GravarBanner(objBanner);

                        Response.Redirect("~/Gerenciador/banner/index.aspx?msn=1");

                    }
                    else
                    {
                        // Extensão não permitida
                    }

                }
                else
                {
                    // Arquivo Maior que o permitido
                }
            }

        }

        protected void btnEditar_Click(object sender, EventArgs e)
        {


            Boolean fileOK = false;

            var objBanner = new tb_banner();

            if (fileImagem.HasFile)
            {
                // BLOQUEIA A TRANSFERÊNCIA DE ARQUIVOS MAIOR QUE 1MB
                if (fileImagem.PostedFile.ContentLength < 1048576)
                {

                    String extensaoArq = System.IO.Path.GetExtension(fileImagem.FileName).ToLower();

                    String nomeAquivo = fileImagem.FileName;

                    String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg" };

                    for (int i = 0; i < allowedExtensions.Length; i++)
                    {
                        if (extensaoArq == allowedExtensions[i])
                        {
                            fileOK = true;
                        }
                    }

                    if (fileOK)
                    {

                        string strUltimoCodBanner = string.Empty;

                        var objBannerImg = MetBanner.SelecionarBanner(Convert.ToInt32(txtCodBanner.Value));

                        string path = Server.MapPath("~/Gerenciador/common/img_banner/");

                        if (File.Exists(path + objBannerImg.DS_IMAGEM))
                        {
                            File.Delete(path + objBannerImg.DS_IMAGEM);
                        }

                        strUltimoCodBanner = MetBanner.UltimoCodigoBanner().ToString();

                        if (strUltimoCodBanner == null)
                        {
                            strUltimoCodBanner = "0";
                        }

                        objBanner.DS_IMAGEM = strUltimoCodBanner + "_" + fileImagem.FileName;

                        fileImagem.SaveAs(path + strUltimoCodBanner + "_" + fileImagem.FileName);
                        
                    }
                    else
                    {
                        // Extensão não permitida
                    }

                }
                else
                {
                    // Arquivo Maior que o permitido
                }
            }

            objBanner.CO_BANNER = Convert.ToInt32(txtCodBanner.Value);
            objBanner.NO_BANNER = txtTitulo.Text;
            objBanner.DS_BANNER = txtDescricao.Text;
            objBanner.DS_LINK = txtLink.Text;
            objBanner.DS_TARGET = ddlTarget.SelectedValue;
            objBanner.CO_LOCAL_BANNER = Convert.ToInt32(ddlLocalBanner.SelectedValue);
            objBanner.CO_SITUACAO = Convert.ToInt32(ddlStatus.SelectedValue);

            MetBanner.AlterarBanner(objBanner);

            Response.Redirect("~/Gerenciador/banner/index.aspx?msn=2");
        }
    }
}